public class MyRunSonTwo implements Runnable {
	private Monitor monitor;

	public MyRunSonTwo(Monitor monitor) {
		this.monitor = monitor;
	}

	@Override
	public void run() {
		this.contarMenos();
	}
	/**
	 * metodo sincronizado por monitor para contar del 100 al 0
	 */
	public void contarMenos() {
		synchronized (monitor) {
			System.out.println("Entro region critica 2");
			if (monitor.getTurno() == 2) {
				for (int i = 100; i >= 0; i--) {
					System.out.println(i);
					monitor.setTurno(1);
					try {
						Thread.sleep(200);
					} catch (InterruptedException e1) {
						System.out.println("No se puede dormir");
					}
					monitor.notify();
					try {
						monitor.wait();
					} catch (InterruptedException e) {
						System.out.println("No puedo esperar");
					}
				}
			}
		}
	}
}